未知攻,焉知防——学习网络渗透技术的目的正是为了更好地防御:如果不知道黑客如何攻击,就无法做出相应的防御对策。正如警察需要具备犯罪相关知识才能洞察犯罪行为,这是 Web 安全的核心思路。非法入侵他人网站属于违法行为,要负法律责任,学习的前提是合法合规。
网站被入侵的代价往往巨大。2017 年 9 月,美国三大信用评级机构之一的 Equifax 服务器被黑、数据库被盗,近一半美国人的隐私信息(姓名、生日、电话、住址、信用卡号、驾驶证号等)遭泄露。被曝光当天 Equifax 股价暴跌,花了近 2 年才恢复。
大公司网站被黑通常是严重的公关事件,甚至导致股价腰斩;小网站被黑影响可能不大,但同样会造成业务损失。
根据 HackerOne 报告数据,71% 的安全问题出现在网站上,其次是一些 API 接口,再往下是 iOS 与 Android 应用。网站安全攻防(Web 安全)占比通常达到 80% 以上,是最受外部黑客关注的目标,也是企业应当重点防御的对象。
许多安全从业者或开发人员面对 Web 安全时,往往只懂得利用、不懂得防御,或缺乏实战能力。Web 安全是注重实战的技能——如果缺乏实战,真正被入侵时就无法有效应对。学习 Web 安全知识,能帮助前后端开发者更有效地应对、甚至提前预防安全事件。
国内外企业普遍建有安全响应中心(如 TSRC、MSRC),接收外部漏洞报告并按危害等级给予赏金;HackerOne 等第三方漏洞奖励平台也常公开漏洞案例,具有较高学习价值。但挖到有价值的高危漏洞需要系统化的 Web 安全知识——仅靠一句弹框语句测试输入框基本无效。
系列内容还结合公开的漏洞靶场和 CTF 赛题,通过实例讲解 Web 安全攻防的各个方面,指导搭建环境练习,在实践中学习与应用。
下一章讲解常用渗透测试工具。